Stepper motors and servo motors are typical of devices that are used where precise position capability is required in mechanical positioning systems. Such motors are employed widely in numerous applications, including for example factory and office automations, food processing installations, packaging applications, inspection machines, medical devices and apparatus, etc.
Unlike servo motors, which inherently require the incorporation of feedback devices (such as encoders and resolvers) having at least fairly high resolution capability, and closed-loop control (e.g., a PID), to afford constant detection and to enable correction of position and velocity errors, stepper motors typically operate in a synchronous, open-loop mode and do not therefore require any position-feedback device or control loop. Moreover, stepper motors are much easier to use and are more cost effective than servo motors.
Operating a stepper motor in a simple, open-loop mode entails a significant drawback, however, with regard to actual positioning capability. Because position-feedback information is not available, control is based upon the assumption that the motor shaft (i.e., the rotor) will always follow the commanded position trajectory. Because that assumption is known to be generally incorrect, in order to accommodate it the motor torque utilization by the load is normally kept below 50% of theoretical or design capacity; since the greater the torque margin available, the lower will be the likelihood that missteps (i.e., slipped or lost poles, or electrical cycles) will occur during operation. If, on the contrary, the external load applied were to exceed the maximum torque capability of the motor for any reason (such as, for example, due to momentary mechanical binding), one or more missteps may occur, and the motor may stall completely throughout the remainder of the commanded trajectory, resulting in a failure to reach the target position.
In an effort to avoid the positioning problems that are associated with open-loop operation, some manufacturers have installed encoders (or like devices) into stepper motors to enable tracking of the motor shaft position and to provide feedback signals to the controller for position verification. In one such modified form the motor operates an open-loop fashion, with actual position being verified by comparing a feedback position to the commanded position after motion has been completed; a correction move is then the generated to recover any steps that may have been lost during operation, ultimately to attain the target position. A major drawback of such systems resides in the fact that, depending upon the position at which the motor stalled during profiling, the subsequently applied correction move can take an inordinate amount of time (e.g., as long as it would have taken to complete the previous, intended motion).
Closed-loop control may also be applied to an encoder-augmented stepper motor in a system that includes a more sophisticated (typically PID+) control algorithm. While missteps can thereby be avoided, other difficulties are often associated with such methods. Firstly, the position-feedback device must have a relatively high-resolution capability in order to accommodate a high pole count; that significantly increases the cost of the system, and high-resolution devices are, of necessity, usually larger and more difficult to manufacture than are otherwise comparable low-resolution devices. And moreover, PID controller gains must be tuned properly to the load condition, and start-up positions can be inaccurate due to encoder absolute error or external loads that produce a bias between the stator command position and the rotor with encoder position, thereby compromising peak torque and control stability.
Representative of the pertinent patent art in the technical field to which the present invention is directed are the following United States patents:
Callaway U.S. Pat. No. 5,663,624 provides a closed-loop method and apparatus for controlling acceleration and velocity of a stepper motor. A position error signal is generated and compared to a reference value, which value is decreased if the motor velocity is too high or increased if the motor velocity is too low. Specifically, the switching angle is adjusted to drive the rotor in accordance with preselected acceleration profiles.
Coutu U.S. Pat. No. 7,495,409 discloses a method and apparatus for eliminating stall and cogging in multi-phase stepper motors, whereby and wherein the lead or lag relationship between the stator and rotor is monitored continuously by an encoder (particularly, an incremental encoder) operating in a feedback relationship. The circuit provided adjusts the lead or lag within a range of optimal values to prevent motor stalls and motor cogging; i.e., the rotor is kept in a stable region in which it leads or lags the stator by an amount that is near one full step.
Chandhoke U.S. Pat. No. 7,863,851 discloses a stepper motor control system and method, comprised of a primary or actual axis (primary controller), providing open-loop control of the motor, and a second monitoring axis (secondary controller) for monitoring error using an encoder, or other component included in the motor, for detecting current positions and generating correction positions, in a periodic or cyclical fashion continuously during motor operation. The correction positions may be incorporated with the next position change from the primary axis to allow closed-loop control of the motor (e.g., to correct for stalls or lost motor steps).